package com.hyts.xmlparser.base.handler;

import java.io.File;
import java.nio.file.Path;

/**
 * project-name:coffice-toolbox
 * package-name:com.hyts.xmlparser.handler
 * author:Libo/Alex
 * create-date:2019-07-18 9:55
 * email:liboware@gmail.com
 * description: xml transfer operation function interface
 */
public interface XmlTransferHandler<P,R> {

    /**
     * file -> bean
     * @param param
     * @return
     */
    R transfer(P param);

    /**
     * bean - file
     * @param param
     * @return
     */
    void transfer(R param,String filePath);

    /**
     * bean - file
     * @param param
     * @return
     */
    void transfer(R param,P param2);

    /**
     * bean - path
     * @param param
     * @return
     */
    void transfer(R param,Path path);
}
